package com.deng.util;

import java.math.BigDecimal;

public class DataFormater {
	public static BigDecimal sqlBigDecimal(Object b)
	{
		if(b == null)
		{
			return new BigDecimal(0);
		}
		else if(b instanceof String)
		{
			try{
				return new BigDecimal((String)b);
			}catch(Exception ex)
			{
				return new BigDecimal(0);
//				ex.printStackTrace();
			}
		}
		else if(b instanceof BigDecimal)
		{
			try{
				return (BigDecimal)b;
			}catch(Exception ex)
			{
				return new BigDecimal(0);
//				ex.printStackTrace();
			}
		}
		else if(b instanceof Integer)
		{
			try{
				return new BigDecimal((Integer)b);
			}catch(Exception ex)
			{
				return new BigDecimal(0);
//				ex.printStackTrace();
			}
		}
		else 
			return new BigDecimal(0);
	}
	public static String sqlString(Object o)
	{
		if(o == null || "".equals(o.toString().trim()))
		{
			return "NULL";
		}
		else
		{
			return "'"+o.toString().replaceAll("'", "''")+"'";
		}
	}
	public static String valueToSQL(Object s){
		if(s instanceof String)
		{
			try{
				Integer.valueOf(s.toString().trim());
				return s.toString();
			}catch(Exception ex){
//				ex.printStackTrace();
				try{//BigDecimal
					new BigDecimal(s.toString().trim());
					return s.toString();
				}catch(Exception ex2){
					try{
						String s2 = s.toString().replaceAll("'", "''");
						return "'"+s2+"'";
					}catch(Exception ex3)
					{
						return "NULL";
					}
					
				}
			}
		}
		else
		{
			if(s == null)
			{
				return "NULL";
			}
			else
			return s.toString();
		}
	}
	public static String valueToSQL0(String s){
		try{
			Integer.valueOf(s.trim());
			return s;
		}catch(Exception ex){
//			ex.printStackTrace();
			try{//BigDecimal
				new BigDecimal(s.trim());
				return s;
			}catch(Exception ex2){
//				ex2.printStackTrace();
				return "0";
			}
		}		
	}
	
	public static String numberToString(Object b){
		if(b == null){
			return "";
		}
		return b.toString();
	}
}
